#pragma once

#include "stdafx.h"
#include "OpenTheFileBehavior.h"

class Program
{
public:
    Program() {}
    virtual ~Program() {}

    void SetOpenFileBehavior(std::shared_ptr<OpenTheFileBehavior> pOpenFileBehavior)
    {
        m_pOpenFileBehavior = pOpenFileBehavior;
    }

    void OpenTheFile()
    {
        if (m_pOpenFileBehavior.get() != NULL)
        {
            m_pOpenFileBehavior->OpenFile();
        }
    }

private:
    std::shared_ptr<OpenTheFileBehavior> m_pOpenFileBehavior;
};